#ifndef		TCPUNIX_HPP_
# define	TCPUNIX_HPP_

# include	"FdInfos.hpp"
# include	"IATcp.hpp"

class TcpUnix : public IATcp
{
public:
  TcpUnix();
  virtual ~TcpUnix();

  virtual ProtoType	*GetProtoByName();
  virtual int		Socket(ProtoType				*proto);
  
  virtual int Connect(int fd,
		      SockInfo &si);
  virtual int Select(int	fd,
		     FdInfos	&fdInfos,
		     TimeVal	&tim);
  virtual int Accept(int fd,
		     SockInfo &sin);
  virtual int Bind(int fd,
		   SockInfo &sin);
  virtual int Listen(int fd);

  virtual int	OpenSocket(int	&FdSocket);
  
  virtual int	NetRead(int	fd,
			Buffer	&buf);
  virtual int	NetWrite(int	fd,
			 Buffer	&buf);

  virtual int	Write(int	fd,
		      char	*buf,
		      int	size);
  virtual int	Read(int	fd,
		     char	*buf,
		     int	size);
};

#endif		/* TCPUNIX_HPP_ */
